package libretto.activity;

import java.util.ArrayList;

import libretto.utils.Utils;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

/**
 * Visualizza le informazioni generali dello studente
 */
public class Info extends Activity {

	private TextView utente;
	private TextView matricola;
	private TextView tipo;
	private TextView profilo;
	private TextView anno;
	private TextView immatricolazione;
	private TextView corso;
	private TextView ordinamento;
	private TextView percorso;
	private ArrayList<TextView> listView;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.info);
		// init GUI
		init();
		Intent intent = getIntent();
		String pkg = getPackageName();
		String page_HTML = intent.getStringExtra(pkg + ".info");
		// estrazione dei dati dalla pagina HTML
		retriveData(page_HTML);
	}

	private void init() {
		utente = (TextView) findViewById(R.id.user);
		matricola = (TextView) findViewById(R.id.id);
		tipo = (TextView) findViewById(R.id.tipo);
		profilo = (TextView) findViewById(R.id.profilo);
		anno = (TextView) findViewById(R.id.anno);
		immatricolazione = (TextView) findViewById(R.id.data_immatr);
		corso = (TextView) findViewById(R.id.corso);
		ordinamento = (TextView) findViewById(R.id.ordinamento);
		percorso = (TextView) findViewById(R.id.percorso);

		listView = new ArrayList<TextView>();
		listView.add(utente);
		listView.add(matricola);
		listView.add(tipo);
		listView.add(profilo);
		listView.add(anno);
		listView.add(immatricolazione);
		listView.add(corso);
		listView.add(ordinamento);
		listView.add(percorso);
	}

	private void retriveData(String page_HTML) {
		if (page_HTML == null) {
			return;
		}

		// elimino stringhe speciali
		page_HTML = Utils.removeSpecialString(page_HTML, "&.*?;");

		int i = 0;

		// recupero la matricola e il nome utente
		Document jsoupDoc = Jsoup.parse(page_HTML);
		Element div = jsoupDoc.select("div.titolopagina").first();
		div.children().remove();
		String split[] = div.text().split(" - ");
		for (String s : split) {
			listView.get(i).setText(s);
			i++;
		}

		// recupero tutte le informazioni utili dell'utente
		Elements tds = jsoupDoc.select("td.tplMaster");
		for (Element td : tds) {
			listView.get(i).setText(td.text());
			i++;
		}
	}
}